<?php

Yii::import('application.modules.vinculacion.models._base.BaseRepEventosybanquetes');

class RepEventosybanquetes extends BaseRepEventosybanquetes {

    /**
     * @return RepEventosybanquetes
     */
    public $fechas;
    public $cedula;

    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public static function label($n = 1) {
        return Yii::t('app', 'Reporte de Eventos y Banquetes|Reportes de Eventos y Banquetes', $n);
    }

    public function attributeLabels() {
        return array_merge(parent::attributeLabels(), array(
            'id_ficha' => Yii::t('app', 'Estudiante'),
            'actividades' => Yii::t('app', 'Actividades'),
            'descripcion' => Yii::t('app', 'Descripcion'),
            'solicitante' => Yii::t('app', 'Solicitante'),
            'fecha_inicio' => Yii::t('app', 'Fecha Inicio'),
            'fecha_fin' => Yii::t('app', 'Fecha Fin'),
            'n_horas' => Yii::t('app', 'N. Horas'),
            'nivel' => Yii::t('app', 'Nivel'),
            'semestre' => Yii::t('app', 'Semestre'),
            'fechas' => Yii::t('app', 'Periodo'),
            'cedula' => Yii::t('app', 'Estudiante'),
        ));
    }

    public function rules() {
        return array(
            array('cedula,id_ficha, actividades, descripcion, solicitante, n_horas, nivel,fechas', 'required'),
            array('cedula, id_ficha,n_horas', 'numerical', 'integerOnly' => true),
            array('actividades, descripcion', 'length', 'max' => 500),
            array('solicitante', 'length', 'max' => 100),
            array('nivel', 'length', 'max' => 4),
            array('semestre', 'length', 'max' => 30),
            array('semestre', 'default', 'setOnEmpty' => true, 'value' => null),
            array('id, id_ficha,cedula, actividades, descripcion, solicitante, fecha_inicio, fecha_fin, n_horas, nivel, semestre,fechas', 'safe', 'on' => 'search'),
        );
    }

    public function horasCumplidas($ficha) {
        $command = Yii::app()->db->createCommand()
                ->select("sum(t.n_horas) as horas")
                ->from("rep_eventosybanquetes t")
//                ->join('area ar', 'ar.id = t.id_area')
                ->Where("t.id_ficha=:ficha", array(':ficha' => $ficha));
        $result = $command->queryAll();
      
        return empty($result ['0']['horas']) ? 0 : $result ['0']['horas'];
    }

}
